package com.soft.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * 实体：团队默认权限（表：team_default_permission）
 * <p>
 * 设计意图：用于定义“某个团队在某类资源上默认允许的动作”。
 * 当未为具体成员配置更细粒度的权限时，可按此默认规则进行权限判定。
 * </p>
 * <ul>
 *   <li>resourceType：资源类别，例如 schedule（日程）/ worklog（工作日志）/ kanban（看板）</li>
 *   <li>action：可执行动作，例如 view / edit / delete / comment</li>
 * </ul>
 * 仅用于权限规则存储与读取，不包含业务逻辑。
 */
@TableName("team_default_permission")
public class TeamDefaultPermission {
     /** 主键，自增 */
    @TableId(type = IdType.AUTO)
    private Integer id;
    
     /** 团队 ID（关联 team 表主键） */
    private Integer teamId;
    
     /**
      * 资源类型，例如：
      * <ul>
      *   <li>schedule：日程</li>
      *   <li>worklog：工作日志</li>
      *   <li>kanban：看板</li>
      * </ul>
      */
     private String resourceType; // schedule / worklog / kanban
    
     /**
      * 动作类型，例如：
      * <ul>
      *   <li>view：查看</li>
      *   <li>edit：编辑</li>
      *   <li>delete：删除</li>
      *   <li>comment：评论</li>
      * </ul>
      */
     private String action; // view / edit / delete / comment

    /** 获取主键 ID */
    public Integer getId() {
        return id;
    }

    /** 设置主键 ID */
    public void setId(Integer id) {
        this.id = id;
    }

    /** 获取团队 ID */
    public Integer getTeamId() {
        return teamId;
    }

    /** 设置团队 ID */
    public void setTeamId(Integer teamId) {
        this.teamId = teamId;
    }

    /** 获取资源类型（schedule/worklog/kanban） */
    public String getResourceType() {
        return resourceType;
    }

    /** 设置资源类型（schedule/worklog/kanban） */
    public void setResourceType(String resourceType) {
        this.resourceType = resourceType;
    }

    /** 获取动作类型（view/edit/delete/comment） */
    public String getAction() {
        return action;
    }

    /** 设置动作类型（view/edit/delete/comment） */
    public void setAction(String action) {
        this.action = action;
    }
}
